Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2002 
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A 
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard 
All Tour Wimbledon - London U.S. Open - New York Malaga Challenger Rolex Paris Masters - Paris Valencia Challenger Barcelona Open Banc Sabadell - Barcelona Hong Kong Tennis Open - Hong Kong ABN AMRO Open - Rotterdam Punta Del Este Challenger Piracicaba Challenger Open 13 Provence - Marseille Cordoba Open - Cordoba Barcelona Challenger Miami Open - Miami Murcia Challenger Monte-Carlo Rolex Masters - Monte-Carlo Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Francavilla Challenger Cagliari Challenger Skopje Challenger Tunis Challenger Libema Open - 's-Hertogenbosch Mallorca Championships - Mallorca Terra Wortmann Open - Halle Sassuolo Challenger Modena Challenger National Bank Open - Montreal Wimbledon - London San Marino Challenger Bonn Challenger U.S. Open - New York Como Challenger Davis Cup, Group B, Valencia Australian Open - Melbourne China Open - Beijing European Open - Antwerp Swiss Indoors Basel - Basel Shanghai Rolex Masters - Shanghai Moselle Open - Metz Banja Luka Challenger BNP Paribas Open - Indian Wells Kigali 1 Challenger Piracicaba Challenger Adelaide International - Adelaide Dubai Duty Free Tennis Championships - Dubai Buenos Aires Challenger cinch Championships - London Miami Open - Miami Mutua Madrid Open - Madrid Tiriac Open - Bucharest Bonn Challenger Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Hamburg Open - Hamburg Perugia Challenger Libema Open - 's-Hertogenbosch Mallorca Championships - Mallorca Sassuolo Challenger Milan Challenger Wimbledon - London Trieste Challenger Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Cincinnati Open - Cincinnati Todi Challenger U.S. Open - New York Biella Challenger Lisbon Challenger Braga Challenger Spain F14 Spain F10 Spain F11 Spain F14 Spain F15 Spain F17 Spain F18 Spain F20 Spain F22 Spain F24 Spain F27 Spain F28 Spain F19 Spain F20 Spain F23 Spain F26 Spain F29 Spain F31 Spain F7 Portugal F3 Spain F12 Spain F16 Spain F24 Spain F26 Spain F27 Spain F28 Spain F31 Spain F32 Spain F35 Spain F38 Spain F39 Spain F5 Spain F7 Portugal F4 Portugal F5 Portugal F6 Spain F12 Spain F13 Spain F18 Spain F19 Italy F14 Italy F15 Netherlands F1 Netherlands F2 France F9 Spain F25 Spain F26 Spain F27 Spain F28 Spain F29 Spain F30 Spain F33 Spain F34 Spain F35 Spain F36 Spain F37 Spain F39 Spain F40 Spain F41 Spain F2 Spain F3 France F2 Italy F2 Spain F7 Spain F8 Spain F9 Spain F10 Spain F11 Spain F18 Spain F19 Spain F20 Spain F21 France F13 Spain F31 Spain F32 Spain F34 Spain F33 Spain F35 Spain F3 Great Britain F3 Great Britain F4 Italy F12 Italy F16 Italy F21 Italy F22 Italy F23 Spain F33 Italy F1 Italy F4 Italy F6 Italy F11 Italy F12 Italy F17 Italy F18 Spain F27 Spain F28 Serbia F8 Serbia F9 Italy F26 Hungary F2 Italy F29 Italy F31 Croatia F14 Turkey F1 Spain F2 Spain F3 Croatia F3 Croatia F4 Italy F3 Italy F7 Italy F23 Croatia F11 Croatia F12 Israel F1 Israel F2 Israel F3 Croatia F3 Croatia F4 Croatia F5 Italy F10 Italy F17 Italy F6 Italy F7 Italy F20 Spain F18 Spain F23 Spain F32 Spain F1 Spain F22 Spain F24 Spain F2 Spain F3 Spain F5 Spain F6 Spain F13 Spain F29 Spain F30 Spain F6 Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F15 Rennes Challenger Bergamo Challenger Segovia Challenger Rome Challenger Como Challenger Santiago Challenger Ciudad de Pozoblanco Open Diputacion - Cordoba Citta di Como - Como Rome Challenger San Benedetto Challenger Recanati Challenger Orbetello Challenger Segovia Challenger San Sebastian Challenger Caltanissetta Challenger Jersey Challenger Monza Challenger Rome Challenger Ostrava Challenger San Remo Challenger Biella Challenger Milan Challenger Arad Challenger Segovia Challenger Istanbul Challenger Genova Challenger St. Remy Challenger Mons Challenger Palermo Challenger Orleans Challenger Bratislava Challenger Quimper Challenger Cherbourg Challenger Athens Challenger Napoli Challenger Rome Challenger Bordeaux Challenger Alessandria Challenger Pozoblanco Challenger Recanati Challenger Ljubljana Challenger Rennes Challenger Orleans Challenger Quimper Challenger Spain F22 Rome Challenger Tunis Challenger Rome Challenger Caltanissetta Challenger Braunschweig Challenger San Benedetto Challenger Recanati Challenger Orbetello Challenger San Marino Challenger Pozoblanco Challenger Todi Challenger Orleans Challenger Napoli Challenger Caltanissetta Challenger Todi Challenger San Benedetto Challenger San Marino Challenger Cordenons Challenger Genova Challenger Szczecin Challenger Sibiu Challenger Bergamo Challenger Vercelli Challenger Rome Challenger Vicenza Challenger Mestre Challenger Milan Challenger San Marino Challenger Sibiu Challenger Cherbourg Challenger Sarajevo Challenger Bath Challenger Caltanissetta Challenger Turin Challenger Rome Challenger Furth Challenger Prostejov Challenger Caltanissetta Challenger Genova Challenger Perugia Challenger Milan Challenger Biella Challenger Padova Challenger Todi Challenger San Benedetto Challenger Genova Challenger Szczecin Challenger Napoli Challenger Bordeaux Challenger Mohammedia Challenger Como Challenger Seville Challenger San Sebastian Challenger Irving Challenger Prostejov Challenger Seville Challenger Perugia Challenger Milan Challenger Ortisei Challenger Todi Challenger Cortina Challenger Fano Challenger Todi Challenger Manerbio Challenger Madrid Challenger Genova Challenger Szczecin Challenger Rome Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Rome Challenger Heilbronn Challenger Caltanissetta Challenger Todi Challenger Como Challenger Sibiu Challenger Rome Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Orbetello Challenger Koblenz Challenger Marbella Challenger Heilbronn Challenger Alicante Challenger Cordenons Challenger Trnava Challenger Geneva Challenger Barletta Challenger Napoli Challenger Quimper Challenger Vercelli Challenger Ostrava Challenger Szczecin Challenger Lima Challenger Punta Del Este Challenger Todi Challenger Aix En Provence Challenger Parma Challenger Croatia F1 Rome Challenger Tulln Challenger Napoli 2 Challenger Losinj Challenger Phoenix Challenger Marbella Challenger Perugia Challenger Montechiarugolo - Parma Challenger Milan Challenger Luedenscheid Challenger Verona Challenger Trieste Challenger Banja Luka Challenger San Marino Challenger Tulln Challenger Szczecin Challenger Genova Challenger Lisbon Challenger Parma Challenger Rio De Janeiro Challenger Lima 2 Challenger Guayaquil Challenger Montevideo Challenger Tunis Challenger Caltanissetta Challenger Como Challenger Santiago Challenger Irving Challenger Heilbronn Challenger Santiago Challenger Braunschweig Challenger Biella Challenger Cordenons Challenger Milan Challenger Monza Challenger Francavilla Challenger Vicenza Challenger Modena Challenger Genova Challenger Szczecin Challenger Punta Del Este Challenger Vigo Challenger Hagen Challenger Sanremo Challenger Sofia 2 Challenger Lima 2 Challenger Pozoblanco Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Tenerife Challenger Rome Challenger Heineken Open - Auckland Alessandria Challenger Izmir Challenger Kazan Challenger Bad Waltersdorf Challenger Wolfsburg Challenger Orbetello Challenger Mercedes Cup - Stuttgart Naples Challenger Cordenons Challenger Open Ciudad de Valencia/LXI Copa Faulconbridge - Valencia Madrid Challenger Valencia Open - Valencia Argentina Open - Buenos Aires Bergamo Challenger Valencia Open - Valencia St. Petersburg Open - St. Petersburg Kigali 2 Challenger ATP Challenger Tour Finals Open de la Comunidad Valenciana - Valencia Open de Tenis Comunidad Valenciana - Valencia Open de Tenis Comunidad Valenciana - Valencia Milan Challenger Swiss Indoors Basel - Basel Braunschweig Challenger Open 13 - Marseille Open de Tenis Comunidad Valenciana - Valencia Grand Prix Hassan II - Casablanca Open de Tenis Comunidad Valenciana - Valencia Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Valencia Open - Valencia Aircel Chennai Open - Chennai Apia International - Sydney Open 13 - Marseille Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice Power Horse Cup - Dusseldorf Genova Challenger Topshelf Open - 's-Hertogenbosch Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg PTT Thailand Open - Bangkok China Open - Beijing Valencia Open - Valencia Qatar ExxonMobil Open - Doha Aircel Chennai Open - Chennai Heineken Open - Auckland PBZ Zagreb Indoors - Zagreb Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Bet-at-home Cup - Kitzbuhel Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Erste Bank Open - Vienna Aircel Chennai Open - Chennai Qatar ExxonMobil Open - Doha Heineken Open - Auckland ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona BMW Open - Munich Topshelf Open - 's-Hertogenbosch AEGON Championships - London Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Aircel Chennai Open - Chennai Qatar ExxonMobil Open - Doha ASB Classic - Auckland Apia International - Sydney Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Open de Nice Cote d'Azur - Nice AEGON Championships - London Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Aircel Chennai Open - Chennai Ecuador Open - Quito Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Kazan Challenger BMW Open - Munich Gerry Weber Open - Halle Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Suisse Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg China Open - Beijing Swiss Indoors Basel - Basel Maharashtra Open - Pune ASB Classic - Auckland Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Gazprom Hungarian Open - Budapest BMW Open - Munich Geneva Open - Geneva Gerry Weber Open - Halle AEGON International - Eastbourne Plava Laguna Croatia Open - Umag Reggio Emilia Challenger German Tennis Championships - Hamburg Swiss Open - Gstaad St. Petersburg Open - St. Petersburg China Open - Beijing Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Cordoba Open - Cordoba DIEMA XTRA Sofia Open - Sofia Argentina Open - Buenos Aires Dubai Duty Free Tennis Championships - Dubai BMW Open - Munich Open Parc - Lyon Noventi Open - Halle Fever-Tree Championships - London Nature Valley International - Eastbourne Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Zhuhai Open - Zhuhai China Open - Beijing Qatar ExxonMobil Open - Doha ASB Classic - Auckland Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Santiago Open - Santiago bett1HULKS Indoors - Cologne Forte Village Sardegna Open - Sardinia bett1HULKS Championships - Cologne Hamburg European Open - Hamburg Murray River Open - Melbourne Cordoba Open - Cordoba Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Qatar ExxonMobil Open - Doha Chile Dove Men+Care Open - Santiago Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Sofia Open - Sofia European Open - Antwerp Sardegna Open - Cagliari Emilia-Romagna Open - Parma Open Sud de France - Montpellier Argentina Open - Buenos Aires Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Generali Open - Kitzbuhel Plava Laguna Croatia Open - Umag Astana Open - Astana Swiss Indoors Basel - Basel Gijon Open - Gijon Tennis Napoli Open - Naples Adelaide International 1 - Adelaide Tata Open Maharashtra - Pune Adelaide International 2 - Adelaide Open Sud de France - Montpellier Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Qatar ExxonMobil Open - Doha Rome Challenger Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva San Marino Challenger Szczecin Challenger Rome Challenger Palermo Challenger Barletta Challenger Sofia Open - Sofia Sopot Challenger Dubai Duty Free Tennis Championships - Dubai Rio Open - Rio de Janeiro Naples Challenger Bordeaux Challenger Barcelona Open BancSabadell - Barcelona Swiss Open - Gstaad Winston-Salem Open - Winston-Salem ASB Classic - Auckland Rio Open - Rio de Janeiro Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Qatar ExxonMobil Open - Doha Rothesay International - Eastbourne Rio Open - Rio de Janeiro Stockholm Open - Stockholm Movistar Chile Open - Santiago Citi Open - Washington Como Challenger Generali Open - Kitzbuhel Coquimbo 2 Challenger Braunschweig Challenger Cordenons Challenger Trieste Challenger Santa Cruz de la Sierra Challenger Estoril Challenger Open de la Comunidad Valenciana - Valencia Barletta Challenger Forli 6 Challenger Nonthaburi 1 Challenger Vicenza Challenger Perugia Challenger Verona Challenger Rosario Challenger Open Sabadell Atlantico - Barcelona AEGON Championships - London Heineken Open - Auckland Turin Challenger Valencia Challenger Szczecin Challenger If Stockholm Open - Stockholm Kremlin Cup - Moscow Plava Laguna Croatia Open - Umag BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Plava Laguna Croatia Open - Umag Shanghai Rolex Masters - Shanghai Genova Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells ASB Classic - Auckland Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rogers Cup - Montreal Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BMW Open - Munich Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Zadar Challenger Argentina Open - Buenos Aires Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Nordea Open - Bastad Wimbledon - London U.S. Open - New York Australian Open - Melbourne Terra Wortmann Open - Halle French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Winston-Salem Open - Winston-Salem EFG Swiss Open - Gstaad Swiss Indoors Basel - Basel ABN AMRO Open - Rotterdam Dubai Duty Free Tennis Championships - Dubai Davis Cup, World Group, 1R, GER-ESP 4-1 Davis Cup, World Group, PO, BRA-ESP 3-1 Davis Cup, Group I, DEN-ESP 0-5 Davis Cup, World Group, 1R, ITA-SUI 5-0 Davis Cup, Group I, 2R, ROU-ESP 1-4 Davis Cup, World Group, 1R, CRO-ESP 2-3 BNP Paribas Open - Indian Wells Davis Cup, World Group, 1R, ESP-GBR 3-1 Davis Cup, World Group, SF, FRA-ESP 3-2 Davis Cup, Finals, Group B Davis Cup, Finals, F, ESP-CAN 2-0 ATP Cup - Brisbane, Perth, Sydney ATP Cup - Melbourne ATP Cup - Sydney Davis Cup, Qualifiers, 1R, ESP-ROU 3-1 Davis Cup, Group B, Valencia Generali Open - Kitzbuhel Sony Open Tennis - Miami Mutua Madrilena Madrid Open - Madrid Davis Cup, Finals, QF, CRO-ESP 2-0 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Wimbledon (juniors) Mubadala World Tennis Championship All Lower level tournaments Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Olympics - Rio de Janeiro Coupe Rogers - Montreal BNP Paribas Masters - Paris Rolex Paris Masters - Paris Western & Southern Open - Cincinnati Rolex Paris Masters - Paris Western & Southern Open - Cincinnati